System Calls হলো প্রোগ্রাম এবং অপারেটিং সিস্টেমের মধ্যে সংযোগ স্থাপনের একটি পদ্ধতি, যা অ্যাপ্লিকেশন প্রোগ্রামগুলোকে অপারেটিং সিস্টেমের সেবা ও রিসোর্স ব্যবহার করার সুযোগ দেয়। সাধারণত, অ্যাপ্লিকেশন প্রোগ্রাম সরাসরি হার্ডওয়্যার বা অপারেটিং সিস্টেমের নিম্ন স্তরের কাজ করতে পারে না, তাই সিস্টেম কল ব্যবহার করা হয়।
System Calls হলো বিশেষ ফাংশন বা পদ্ধতি যা অ্যাপ্লিকেশন প্রোগ্রামকে অপারেটিং সিস্টেমের কাজগুলির জন্য একটি নির্দিষ্ট অনুরোধ করতে সক্ষম করে। উদাহরণস্বরূপ, ফাইল পড়া বা লেখা, প্রসেস তৈরি করা, এবং মেমোরি পরিচালনা করা।
System Call এর কাজের পদ্ধতি:
pipe()
, message queue
এবং shared memory
।Linux অপারেটিং সিস্টেমে কিছু সাধারণ System Call:
read(): একটি ফাইল বা ইনপুট ডিভাইস থেকে ডেটা পড়ার জন্য ব্যবহৃত।
int fd = open("file.txt", O_RDONLY);
char buffer[100];
read(fd, buffer, 100);
write(): একটি ফাইল বা আউটপুট ডিভাইসে ডেটা লেখার জন্য ব্যবহৃত।
write(fd, buffer, 100);
fork(): একটি নতুন প্রসেস তৈরি করতে ব্যবহৃত।
pid_t pid = fork();
if (pid == 0) {
// Child process
} else {
// Parent process
}
exec(): একটি প্রসেসের সাথে একটি নতুন প্রোগ্রাম লোড করতে ব্যবহৃত।
execl("/bin/ls", "ls", NULL);
exit(): একটি প্রসেস শেষ করতে ব্যবহৃত।
exit(0);
fork()
, exec()
, exit()
।open()
, read()
, write()
, close()
।ioctl()
, read()
, write()
।getpid()
, alarm()
।pipe()
, shmget()
।সারসংক্ষেপ
System Calls প্রোগ্রাম এবং অপারেটিং সিস্টেমের মধ্যে একটি ব্রিজ হিসেবে কাজ করে, যা প্রোগ্রামকে অপারেটিং সিস্টেমের বিভিন্ন সেবা এবং রিসোর্স ব্যবহার করতে সহায়তা করে। এগুলি সিস্টেম সুরক্ষা এবং কার্যক্ষমতা নিশ্চিত করে এবং বিভিন্ন প্রক্রিয়া, ফাইল, ডিভাইস, এবং যোগাযোগ পরিচালনার জন্য অপরিহার্য।
common.read_more